package io;

import java.io.*;

/*
对象流；处理流、高级流
ObjectInputStream对象输入流和ObjectOutputStream对象输出流
1）作用；进行对象的序列化和反序列化
   序列化；将一个java对象转换为一组字节的过程，称为对象序列化
   反序列化；将一组字节还原为java对象
 */
public class OOSDemo {
    public static void main(String[] args) throws IOException {
        String name="张三";
        int age=25;
        String gender="男";
        String[] otherInfo={"",""};
        /*
        对象输出流在序列化对象时需要保证序列化对象必须实现Serializable（序列化）接口
        若不实现则会发生异常
         */
        Student student=new Student(name,age,gender,otherInfo);
        FileOutputStream fos=new FileOutputStream("student.obj");
        ObjectOutputStream oos=new ObjectOutputStream(fos);
        oos.writeObject(student);
        System.out.println("写出完毕");
        oos.close();
    }
}
